package com.yao.dao;

import com.yao.entity.ServerEntity;
import com.yao.entity.VirtualEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface VirtualDao {
    //全局查找
    List<VirtualEntity> findAll();

    //    分页查找
    List<VirtualEntity> findPage(@Param("page") int page,
                                @Param("pageSize") int pageSize);

    //模糊查询
    List<VirtualEntity> findBySomething(
            @Param("virtual_ip") String virtual_ip,
            @Param("app") String app,
            @Param("ip") String ip,
            @Param("admin") String admin,
            @Param("core") String core,
            @Param("ram") String ram,
            @Param("disk") String disk,
            @Param("systems") String systems,
            @Param("zabbix") String zabbix);

    //模糊查询
    List<VirtualEntity> findByPage(
            @Param("virtual_ip") String virtual_ip,
            @Param("app") String app,
            @Param("ip") String ip,
            @Param("admin") String admin,
            @Param("core") String core,
            @Param("ram") String ram,
            @Param("disk") String disk,
            @Param("systems") String systems,
            @Param("zabbix") String zabbix,
            @Param("page") int page,
            @Param("pageSize") int pageSize);

    //删除
    void delete(@Param("id") int id);

    //修改
    void update(
            @Param("id") int id,
            @Param("virtual_ip") String virtual_ip,
            @Param("app") String app,
            @Param("virtual_name") String virtual_name,
            @Param("ip") String ip,
            @Param("admin") String admin,
            @Param("core") String core,
            @Param("ram") String ram,
            @Param("disk") String disk,
            @Param("systems") String systems,
            @Param("zabbix") String zabbix,
            @Param("remark") String remark);

    //添加
    void add(
            @Param("virtual_ip") String virtual_ip,
            @Param("app") String app,
            @Param("virtual_name") String virtual_name,
            @Param("ip") String ip,
            @Param("admin") String admin,
            @Param("core") String core,
            @Param("ram") String ram,
            @Param("disk") String disk,
            @Param("systems") String systems,
            @Param("zabbix") String zabbix,
            @Param("remark") String remark);
}
